O Problema de Dois Idiomas refere-se à necessidade histórica de usar uma linguagem de alto nível, "lenta" (Python, R, MATLAB) para prototipagem, apenas para ser obrigado a reescrever toda a base de código em uma linguagem de baixo nível, "rápida" (C++, Fortran) para produção. O que podemos esperar do design moderno de linguagens e das técnicas de compilação? Julia elimina essa "taxa de reescrita".
1. A Lacuna entre Produtividade e Desempenho
Os pesquisadores tradicionalmente sacrificam a velocidade de execução pela facilidade de uso. O Julia utiliza a compilação moderna com base no LLVM para garantir que as abstrações de alto nível não comprometam a eficiência em nível de máquina.
2. Versatilidade e Dualidade
O sintaxe do Julia é semelhante ao MATLAB, tornando-o imediatamente acessível, embora seja uma linguagem muito de propósito geral capaz de indexação na web e programação de sistemas. Além disso, Julia é tão útil quanto o R no domínio estatístico, mas é perfeito para fazer estatística e álgebra linear simultaneamente sem precisar de extensões em C.